package com.sans.collection;

import org.junit.Test;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * @author Sans
 */
public class MapTest {
    @Test
    public void hashMap() {
        HashMap<String, Object> hashMap = new HashMap<>(16);
        hashMap.put("name", "古尔丹");
        hashMap.put("age", "105");
        hashMap.put("gender", "Orc");
        hashMap.put("info", "术士");
        System.out.println(hashMap);

        hashMap.remove("age");
        System.out.println(hashMap.containsKey("age") ? "包含age键" : "不包含age键");
        System.out.println(hashMap.containsValue("古尔丹") ? "包含古尔丹值" : "不包含古尔丹值");
        // map没有办法直接遍历
        // 可以使用keySet()先获取容器中的所有key
        Set<String> Keys = hashMap.keySet();
        for (String key : Keys) {
            System.out.println(key + ":" + hashMap.get(key));
        }

        // 可以使用EntrySet()先获取容器中的所有Entry
        Set<Map.Entry<String, Object>> entries = hashMap.entrySet();
        for (Map.Entry<String, Object> entry : entries) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
    }
}
